Boxpointer tracks both the "user arrow side", which is the side
that was explicitly specified, and the "arrow side", which is the
actual side that may have been flipped due to space constraints.
However the former currently always keeps tracking the side that
was specified at construction time, even if it is explicitly
changed with `updateArrowSide()`.
That means that on allocation, the arrow side is reverted to its
original value again, unless the flip calculation happens to turn
it into the intended value.
This is unexpected, so update both current and intended arrow side
when updating the arrow side.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4120>
}
updateArrowSide(side) {
- this._arrowSide = side;
+ this._arrowSide = this._userArrowSide = side;
this.queue_relayout();
this.emit('arrow-side-changed');